package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.CldLeave;
import com.cleaningcloud.cld.domain.dto.CldLeaveDto;
import com.cleaningcloud.cld.domain.vo.CldLeaveVo;

import java.util.List;

/**
 * 请假管理Service接口
 *
 * @author cleaningcloud
 * @date 2024-11-08
 */
public interface ICldLeaveService {
    /**
     * 查询请假管理
     *
     * @param leaveId 请假管理主键
     * @return 请假管理
     */
    CldLeaveVo selectCldLeaveByLeaveId(Long leaveId);

    /**
     * 查询请假管理列表
     *
     * @param cldLeave 请假管理
     * @return 请假管理集合
     */
    List<CldLeaveVo> selectCldLeaveList(CldLeaveDto cldLeave);

    /**
     * 新增请假管理
     *
     * @param cldLeave 请假管理
     * @return 结果
     */
    int insertCldLeave(CldLeaveDto cldLeave);

    /**
     * 修改请假管理
     *
     * @param cldLeave 请假管理
     * @return 结果
     */
    int updateCldLeave(CldLeave cldLeave);

    /**
     * 审核
     *
     * @param cldLeave
     * @return
     */
    int auditCldLeave(CldLeave cldLeave);

    /**
     * 批量删除请假管理
     *
     * @param leaveIds 需要删除的请假管理主键集合
     * @return 结果
     */
    int deleteCldLeaveByLeaveIds(Long[] leaveIds);

    /**
     * 删除请假管理信息
     *
     * @param leaveId 请假管理主键
     * @return 结果
     */
    int deleteCldLeaveByLeaveId(Long leaveId);
}
